from flask import current_app, session
from flask_migrate import Migrate, MigrateCommand
from flask_script import Manager
from info import create_app, db

# 通过指定的配置名字创建对应配置的app
from info.models import User

app = create_app('DevelopmentConfig')
# 初始化Managger
manager= Manager(app)
# 将app和db关联起来
Migrate(app,db)
# 添加迁移命令
manager.add_command('db', MigrateCommand)


# 通过命令行手动创建管理员账户函数
@manager.option('-n', '-name', dest="name")
@manager.option('-p', '-password', dest="password")
def createsuperuser(name, password):

    if not all([name, password]):
        print("参数不足")

    user = User()
    user.nick_name = name
    user.mobile = name
    user.password = password
    user.is_admin = True

    try:
        db.session.add(user)
        db.session.commit()
    except Exception as e:
        db.session.rollback()
        print(e)

if __name__ == '__main__':
    manager.run()